home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- Here is an example of an "environnement file". All you have to do, si to
- fill it with :
- - use MUIBuilder+GenCodeE to generate the create_app() function
- - add the code for your application !!!
- ******************************************************************************/
-
- OPT OSVERSION=37
-
- /* Module definitions */
- MODULE 'muimaster', 'libraries/mui'
- MODULE 'utility/tagitem', 'utility/hooks'
- MODULE 'intuition/classes', 'intuition/classusr'
-
- /* Error handling */
- ENUM NO_LIBRARY, MUI_APPLICATION_FAILURE
- RAISE NO_LIBRARY IF OpenLibrary()=NIL,
- MUI_APPLICATION_FAILURE IF Mui_NewObjectA()=NIL
-
- /* Constant definitions */
- CONST MUI_TRUE = 1
-
- /* Global variables */
- /*MUIB*/
-
-
- /* Main procedure */
- PROC main() HANDLE
-
- DEF signal, result_DoMethod, running = TRUE
-
- muimasterbase := OpenLibrary('muimaster.library', 0)
- create_app()
-
- WHILE running
- result_DoMethod := doMethod( app, [ MUIM_Application_Input, {signal} ] )
- SELECT result_DoMethod
- CASE MUIV_Application_ReturnID_Quit
- running := FALSE
- ENDSELECT
- IF (running AND signal) THEN Wait( signal )
- ENDWHILE
-
- Mui_DisposeObject( app )
- CloseLibrary( muimasterbase )
-
- EXCEPT
- SELECT exception
- CASE NO_LIBRARY
- CASE MUI_APPLICATION_FAILURE
- ENDSELECT
- ENDPROC
-
-
- /* Procedure generated by GenCodeE which creates your application */
- PROC create_app()
- ENDPROC
-
-
- /* DoMethod() function */
- PROC doMethod( obj:PTR TO object, msg:PTR TO msg )
-
- DEF h:PTR TO hook, o:PTR TO object, dispatcher
-
- IF obj
- o := obj-SIZEOF object /* instance data is to negative offset */
- h := o.class
- dispatcher := h.entry /* get dispatcher from hook in iclass */
- MOVEA.L h,A0
- MOVEA.L msg,A1
- MOVEA.L obj,A2 /* probably should use CallHookPkt, but the */
- MOVEA.L dispatcher,A3 /* original code (DoMethodA()) doesn't. */
- JSR (A3) /* call classDispatcher() */
- MOVE.L D0,o
- RETURN o
- ENDIF
-
- ENDPROC NIL
-
-